Transaction processing is a style of computing, typically performed by large server computers, that supports interactive applications. In transaction processing, work is divided into individual, indivisible operations, called transactions. By contrast, batch processing is a style of computing in which one or more programs processes a series of records (a batch) with little or no action from the user or operator. A transaction application is a collection of programs that together perform a business operation. Each program runs as part of a transaction under transaction system control using transaction services and interfaces to access resources.
Every resource is defined with a set of attributes. The attributes are the properties of the resource, telling the transaction system, for example, whether a file can be updated, the security level that should be given to a transaction, and/or the remote systems with which the transaction system can communicate. Transaction system applications and the resources they use can be distributed in and between interconnected transaction regions.
An important aspect of transaction systems and resources is the ability to recover and restart in the middle of transaction processing.